/*登录、注册、忘记密码使用的js*/
function trim(str) { // 删除左右两端的空格
	return str.replace(/(^\s*)|(\s*$)/g, "");
}
//验证用户输入惠信号 
var testAccName = function(){
	var accName = trim($("#accName").val());//获取用户名的值
	if(accName == "" || accName == "undefine"){ //不能为空
		 $("#accNameMsg").show();
		 $("#accNameMsg").text("用户名不能为空！");
		return false;
	}
	
	if((accName.length < 6 || accName.length > 20)){
		 $("#accNameMsg").show();
		 $("#accNameMsg").text("惠信号长度应该为6-20位！");
		return false;
	}
	var t = /^[a-zA-Z][a-zA-Z0-9_]{5,19}$/;
	if(!t.test(accName)){  
		 $("#accNameMsg").show();
		 $("#accNameMsg").text("必须以英文字母开头，只能包含字母、数字或下划线！");
		return false;
	} else{//异步查询数据库用户名是否已经存在
		$.ajaxSetup({async: false});
		$.post('userAction_checkIsExistByAccName.action?userRegister.accName='+accName,function(data){ 
	  		if(data.result == 0){
	  			$("#accNameMsg").text("");//清空错误提示内容
	  			$("#accNameMsg").hide();//隐藏错误提示图标
	  		}else if(data.result == 1){
	  			$("#accNameMsg").show();
	  			$("#accNameMsg").text("惠信号已存在！");
	  		}
	   	});
		if($("#accNameMsg").text() !=""){
  			return false;
  		}
   }
    $("#accNameMsg").text("");
    return true;
}

//验证手机号
var testmobile = function(){
	var mobile = trim($("#mobile").val());//获取用户名的手机号
	if(mobile == "" || mobile == "undefine"){ //不能为空
		$("#mobileMsg").show();
		$("#mobileMsg").text("手机号不能为空！");
		return false;
	}
	
	var t= /^0?(1[3456789])[0-9]{9}$/ ;
	if(!t.test(mobile)){   
		$("#mobileMsg").show();
		$("#mobile").val("");
		$("#mobileMsg").text("手机号【"+ mobile +"】不正确！");
		return false;
	} else{ // 异步验证手机号是否已存在  
		$.ajaxSetup({async: false});
		$.post('userAction_checkIsExistByMobile.action?mobile='+mobile,function(data){ 
	  		if(data.result == 1){
	  			$("#mobileMsg").text("");//清空错误提示内容
	  			$("#mobileMsg").hide();//隐藏错误提示图标
	  		}else if(data.result == 0){
	  			$("#mobileMsg").show();
	  			$("#mobileMsg").text("手机号已绑定！");
	  			return false;
	  		}
	   	});
	
		if($("#mobileMsg").text() !=""){
			return false;
  		}
	}
	$("#mobileMsg").text("");
	return true;
}


//登录密码校验
var testPassword = function (){
	var password = $("#pwd").val();//trim($("#pwd").val());
	var t =/.*[\u4e00-\u9fa5]+.*$/;
//	var t1 = /^(?!^(\d+|[a-zA-Z]+|[~!@#$%^&*?.]+)$)^[\w~!@#$%\^&*?.]+$/;
	var t1 = /^(?!^(\d+|[a-zA-Z]+|[~`!@#$%^&*()\-_+={[\]}|\\:;"'<,.>?\/]+)$)^[\w~`!@#$%^&*()\-_+={[\]}|\\:;"'<,.>?\/]+$/;
	var ts = RegExp(/[(\ )(\()(\))(\-)(\_)(\+)(\=) (\[)(\])(\{)(\})(\|)(\\)(\;)(\:)(\')(\")(\,)(\/) (\<)(\>)(\ )(\)]+/); 
	
	if(password.indexOf(" ")>-1){//不能包含空格
		var temp = password;
		temp = temp.replace(" ","");
		$("#pwd").val(temp);
		return false;
	}else if(password == "" || password == "undefine"){//不能为空
		$("#pwdMsg").show();
		$("#pwdMsg").text("密码不能为空！");
		return false;
	}else if(t.test(password)){
		$("#pwdMsg").show();
		$("#pwdMsg").html("密码不能为中文！");
		return false;
	}else{
		if(password.length < 8 || password.length > 16){ //长度要求为8-16之间
			$("#pwdMsg").show();
			$("#pwdMsg").html("密码长度应该为8-16位！");
			return false;
		}else if(!t1.test(password)){
			$("#pwdMsg").show();
			$("#pwdMsg").html("至少由字母、数字或特殊字符中的两种组成");
			return false;}
		else{
			$("#pwdMsg").hide();
			$("#pwdMsg").text("");
			return true;
		}
	}
}


//支付密码校验
var testPayPassword = function (){
	var password = $("#payPwd").val();//trim($("#payPwd").val());
	var pwd=$("#pwd").val();//trim($("#pwd").val());
	var t =/.*[\u4e00-\u9fa5]+.*$/;
//	var t1 = /^(?!^(\d+|[a-zA-Z]+|[~!@#$%^&*?.]+)$)^[\w~!@#$%\^&*?.]+$/;
	var t1 = /^(?!^(\d+|[a-zA-Z]+|[~`!@#$%^&*()\-_+={[\]}|\\:;"'<,.>?\/]+)$)^[\w~`!@#$%^&*()\-_+={[\]}|\\:;"'<,.>?\/]+$/;
	var ts = RegExp(/[(\ )(\()(\))(\-)(\_)(\+)(\=) (\[)(\])(\{)(\})(\|)(\\)(\;)(\:)(\')(\")(\,)(\/) (\<)(\>)(\ )(\)]+/); 
	//判断包含空格
	if(password.indexOf(" ")>-1){
		var temp = password;
		temp = temp.replace(" ","");
		$("#payPwd").val(temp);
		return false;
	}
	//判断登录密码和支付密码是否相同
	if(password==pwd){
		$("#payPwdMsg").show();
		$("#payPwdMsg").text("支付密码不能与登录密码相同！");
		return false;
	}
	
	if(password == "" || password == "undefine"){//不能为空
		$("#payPwdMsg").show();
		$("#payPwdMsg").text("密码不能为空！");
		return false;
	}else if(t.test(password)){
		$("#payPwdMsg").show();
		$("#payPwdMsg").html("密码不能为中文！");
		return false;
	}else{
		if(password.length < 8 || password.length > 16){ //长度要求为8-16之间
			$("#payPwdMsg").show();
			$("#payPwdMsg").html("密码长度应该为8-16位！");
			return false;
		}else if(!t1.test(password)){
			$("#payPwdMsg").show();
			$("#payPwdMsg").html("至少由字母、数字或特殊字符中的两种组成");
			return false;}
		else{
			$("#payPwdMsg").hide();
			$("#payPwdMsg").text("");
			return true;
		}
	}
}

//验证重新输入密码是否一致
var testPassword02 = function (){
	var verifyNewPwd = $("#verifyNewPwd").val();//trim($("#verifyNewPwd").val());
	var password = trim($("#pwd").val());
	if(verifyNewPwd.indexOf(" ")>-1){
		var temp = verifyNewPwd;
		temp = temp.replace(" ","");
		$("#verifyNewPwd").val(temp);
		return false;
	}
	if(password == verifyNewPwd){//是否一致
		$("#verifyNewPwdMsg").text("");
		$("#verifyNewPwdMsg").hide();
		return true;
	}
	$("#verifyNewPwdMsg").show();
	$("#verifyNewPwdMsg").text("确认密码与新密码不一致");
	return false;
	

}

//找回密码隐藏框置空
function emptyFpwdHidden(){
	$("#fpwd_acc").val("");
	$("#fpwd_uid").val("");
}

/*
 * 发送手机验证码
 */
var rtimers = 0;
var rtipId;
function sendCode(){
	if(rtimers>0){
		return ;
	}
	
	if(!testAccName()) return false;
	if(!testmobile()) return false;
	
	$("#mobileMsg").hide();
	$("#mobileMsg").text("");	
	
	$("#accNameMsg").hide();	
	$("#accNameMsg").text("");	
	
	var mobile = trim($('#mobile').val());
	var accName = trim($("#accName").val());//获取用户名的值
	
	$("#checkCode").removeAttr("readonly");//移除不可输入属性
     
  //$("#hqver").removeAttr("onclick");
   $.post('userAction_regAccGetCodeByMobile.action', {"userRegister.mobile": mobile, "userRegister.accName": accName}, function(data){ 
	    var json = eval(data);       
	    $.each(json, function (index) { 
	    	
	      var result = json[index].result;
	      var accNameMsg = json[index].accNameMsg;	      
	      var mobileMsg = json[index].mobileMsg;
	      
	      if(result == "true" || result == true){
	        //验证手机号码
	        if ($("#hqver").html() == "重新发送" || $("#hqver").html() == "发送") {
	        	  
		          rtimers = 120;
		          rtipId = window.setInterval(rtimer, 1000);
		          $("#checkCode").val("");
	        }	 	
	        return true;
	      }else {	
	    	  if(rtimer != null && rtimer != undefined) {
		          window.clearInterval(rtipId);
		          rtimers = 0;  
	          }
	    	  
	    	  if (mobileMsg != null && mobileMsg != "" &&  typeof(mobileMsg) != "undefined") {
	    		  $("#mobileMsg").show();
	    		  $("#mobileMsg").text(mobileMsg);	
	    	  }
	    	  
	    	  if (accNameMsg != null && accNameMsg != "" && typeof(accNameMsg) != "undefined") {
	    		  $("#accNameMsg").show();
	    		  $("#accNameMsg").text(accNameMsg);	
	    	  }
	    	  
	        return false;
	      }
	
	    })
  }, "json");	
}



//定时
function rtimer() {
	if (rtimers >= 0) {
		$("#hqver").html(rtimers + "秒后重新获取");
		//$("#hqver").removeAttr("onclick");
		rtimers--;
	} else {
		window.clearInterval(rtipId);
		$("#hqver").html("重新发送");
		//$("#hqver").attr("onclick","sendCode()");
		//document.getElementById("hqver").onclick = "javascript:sendCode()";
		
	}
}

//验证手机验证码
function testMobileCode01(){
	var mobileCode = trim($("#checkCode").val());//获取验证码
	$("#checkCodeMsg").text("");
	if(mobileCode == "" || mobileCode == "undefine"){ //不能为空
  		$("#sendErrorMsg").show();
  		$("#sendErrorMsg").text("验证码不能为空！");
		return false;
	}
	var t= /^[0-9]{6}$/ ;
	if(!t.test(mobileCode)){
  		$("#sendErrorMsg").show();
		$("#sendErrorMsg").text("验证码应为6位数字！");
		return false;
	}else{  
		var mobile = $("#mobile").val();//获取用户名的手机号
		if(mobile == "" || mobile == "undefine"){ //不能为空
			$("#mobileMsg").text("手机号不能为空！");
			$("#checkCode").val('');
		    $("#mobile").focus();
			return false;
		}
		var t= /^0?(1[3456789])[0-9]{9}$/ ;
		if(!t.test(mobile)){  
			$("#mobileMsg").text("手机号不正确！");
			return false;
		}

	}
	$("#sendErrorMsg").text("");
	$("#sendErrorMsg").hide();
	return true;
}


//忘记密码--身份证号码校验
function idNoCheck() {
	var cardNo = trim($("#idcard").val());//获取身份证号
//	var cnReg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
	var cnReg = /^[a-zA-Z0-9]{6,18}$/;
	if (cardNo == "") {
  		$("#idcardMsg").show();
		$("#idcardMsg").text("请输入正确身份证号！");
		return false;
	}
	if (!cnReg.test(cardNo)) {
  		$("#idcardMsg").show();
		$("#idcardMsg").text("请输入正确身份证号！");
		return false;
	}
//	if(!checkCardNot(cardNo)){
//		$("#idcardMsg").show();
//		$("#idcardMsg").text("请输入正确身份证号！");
//		return false;
//	}
	
	$("#idcardMsg").hide();
	$("#idcardMsg").text("");
	return true;
}

//用户注册--身份证号码校验
function registerIdNoCheck() {
	var cardNo = trim($("#idcard").val());//获取身份证号
//	var cnReg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
//	var cnReg = /^[a-zA-Z0-9]{6,18}$/;
//	if (cardNo == "") {
//		$("#idcardRight").hide();
//  		$("#idcardMsg").show();
//		$("#idcardMsg").text("请输入正确身份证号！");
//		return false;
//	}
//	if (!cnReg.test(cardNo)) {
//		$("#idcardRight").hide();
//  		$("#idcardMsg").show();
//		$("#idcardMsg").text("请输入正确身份证号！");
//		return false;
//	}
	if(!checkCardNot(cardNo)){
		$("#idcardMsg").show();
		$("#idcardMsg").text("请输入正确身份证号！");
		return false;
	}
//	else{//异步查询数据库用户名是否已经存在
//		$.post('userAction_checkIsExistByIdCard.action?userRegister.idcard='+cardNo,function(data){ 
//	  		if(data.result == 0){
//	  			$("#idcardRight").show();//显示正确图标
//	  			$("#idcardMsg").text("");//清空错误提示内容
//	  			$("#idcardMsg").hide();//隐藏错误提示图标
//	  		}else if(data.result == 1){
//	  			$("#idcardRight").hide();//隐藏正确图标
//	  			$("#idcardMsg").show();
//	  			$("#idcardMsg").text("身份证号已存在！");
//	  			return false;
//	  		}
//	   	});
//		if($("#idcardMsg").text() !=""){
//  			return false;
//  		}
//   }
	$("#idcardMsg").text("");
	return true;
}

/**
 * 
 * @param num 校验身份证规则
 * @returns {Boolean}
 */
function checkCardNot(num){
	var len, re; 
	len = num.length; 
	if (len == 15) 
	{ 
		re = new RegExp(/^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/); 
		var arrSplit = num.match(re); 
		//检查生日日期是否正确 
		var dtmBirth = new Date('19' + arrSplit[2] + '/' + arrSplit[3] + '/' + arrSplit[4]); 
		var bGoodDay; 
		bGoodDay = (dtmBirth.getYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4])); 
		if (!bGoodDay) 
		{   
		    return false; 
		} 
		else 
		{ 
		//将15位身份证转成18位 
		//校验位按照ISO 7064:1983.MOD 11-2的规定生成，X可以认为是数字10。 
		    var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); 
		    var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'); 
		    var nTemp = 0, i;   
		    num = num.substr(0, 6) + '19' + num.substr(6, num.length - 6); 
		    for(i = 0; i < 17; i++) 
		    { 
		        nTemp += num.substr(i, 1) * arrInt[i]; 
		    } 
		    num += arrCh[nTemp % 11];   
		    return true;   
		}
		
	} 
	if (len == 18) 
	{
		re = new RegExp(/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/); 
		var arrSplit = num.match(re);
		//检查生日日期是否正确 
		var dtmBirth = new Date(arrSplit[2] + "/" + arrSplit[3] + "/" + arrSplit[4]); 
		var bGoodDay; 
		bGoodDay = (dtmBirth.getFullYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4])); 
	
		if (!bGoodDay) 
		{ 
			return false; 
		} 
		else 
		{
			//检验18位身份证的校验码是否正确。 
			//校验位按照ISO 7064:1983.MOD 11-2的规定生成，X可以认为是数字10。 
			var valnum; 
			var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); 
			var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'); 
			var nTemp = 0, i; 
			for(i = 0; i < 17; i++) 
			{ 
				nTemp += num.substr(i, 1) * arrInt[i]; 
			} 
			valnum = arrCh[nTemp % 11]; 
			if (valnum != num.substr(17, 1)) 
			{ 
				return false; 
			}
			return true; 
		} 
	} 
	return false; 
}

//姓名验证
function nameCheck() {	
	var realName = trim($("#realName").val());	
	var rnReg = /^[a-zA-Z]{2,20}$/;		   //验证真实姓名
	var rnReg2 = /^[\u4e00-\u9fa5]{2,10}$/; //验证真实姓名
	
	if (realName == "") {
  		$("#realNameMsg").show();
		$("#realNameMsg").text("请输入真实姓名！");
		return false;
	}
	if (!rnReg.test(realName) && !rnReg2.test(realName)) {
  		$("#realNameMsg").show();
		$("#realNameMsg").text("真实姓名格式错误：最大支持10个汉字或20个字母！");
		return false;
	}
	
	$("#realNameMsg").hide();
	$("#realNameMsg").text("");
	return true;
}


//验证服务协议复选框是否被选中
function getCheckBoxValue()
{
	if(!document.getElementById("i_agreeb").checked)
	{
		$("#i_agreeb_msg").show();
		$("#i_agreeb_msg").html("请同意我们的注册条款");
		return false;
	}else
	{
		$("#i_agreeb_msg").html("");
		$("#i_agreeb_msg").hide();
		return true;
	}
}

//验证用户输入惠信号 
var testOldAccName = function(){
	$("#accNameRight").hide();
	var accName = trim($("#accName").val());//获取用户名的值
	if(accName == "" || accName == "undefine"){ //不能为空
		 $("#accNameMsg").show();
		 $("#accNameMsg").text("惠信号不能为空！");
		return false;
	}
	
	if((accName.length < 6 || accName.length > 20)){
		 $("#accNameMsg").show();
		 $("#accNameMsg").text("惠信号长度应该为6-20位！");
		return false;
	}
	var t = /^[a-zA-Z][a-zA-Z0-9_]{5,19}$/;
	if(!t.test(accName)){  
		 $("#accNameMsg").show();
		 $("#accNameMsg").text("必须以英文字母开头，只能包含字母、数字或下划线！");
		 return false;
	}
	
	$("#accNameRight").show();
	$("#accNameMsg").text("");
	
	return true;
}

//验证用户输入的密码
var testPwd = function(){
	$("#pwdRight").hide();
	var pwd = trim($("#pwd").val());//获取用户名的值
	if(pwd == "" || pwd == "undefine"){ //不能为空
		 $("#pwdMsg").show();
		 $("#pwdMsg").text("密码不能为空！");
		return false;
	}
	$("#pwdMsg").text("");
	$("#pwdRight").show();
	return true;
}

//--------------------------------------------首次登入处理函数 》

//首次登入验证手机号格式
var testFirstLoginMobile = function(){	
	$("#mobileRight").hide();
	$("#mobileMsg").show();
	var mobile = trim($("#mobile").val());//获取用户名的手机号
	if(mobile == "" || mobile == "undefine"){ //不能为空
		$("#mobileMsg").show();
		$("#mobileMsg").text("手机号不能为空！");
		return false;
	}	
	var t= /^0?(1[3456789])[0-9]{9}$/ ;
	if(!t.test(mobile)){   
		$("#mobileMsg").show();
		$("#mobileMsg").text("手机号不正确！");
		return false;
	}
	$("#mobileMsg").hide();
	$("#mobileRight").show();
	return true;
}

//首次登入验证手机验证码
function testFirstLoginMobileCode(){
	$("#checkCodeMsgRight").hide();
	$("#checkCodeMsg").show();
	var mobileCode = trim($("#checkCode").val());//获取验证码

	if(mobileCode == "" || mobileCode == "undefine"){ //不能为空
  		$("#checkCodeMsg").text("验证码不能为空！");
		return false;
	}
	var t= /^[0-9]{6}$/ ;
	if(!t.test(mobileCode)){
		$("#checkCodeMsg").text("验证码应为6位数字！");
		return false;
	}
	
	$("#checkCodeMsg").hide();
	$("#checkCodeMsgRight").show();
	return true;
}

//首次登入发送手机验证码
function firstLoginSendCode(){
	$("#checkCodeMsgRight").hide();
	$("#checkCodeMsg").show("");

	if(rtimers>0){
		return ;
	}
	if(!testFirstLoginMobile()) return;
	var mobile = trim($('#mobile').val());		
	// 若输入的手机号有问题， 禁止发送验证码 
	var mobileMsg = $('#mobileMsg').text();	
	
	var ii = layer.load('处理中...');		
	$.post('userAction_firstLoginSendCode.action?mobile='+mobile, function(data){ 
  		
		var json = eval(data);									
		$.each(json, function (index) { 
			  var rs = json[index].rs;
			  var errorCode = json[index].errorCode;		
			  var errorMsg = json[index].errorMsg;
			  layer.close(ii);	   				
			  if(rs == "false") {
				  var msg = "";
				  if (errorCode == "1048844") {
					  msg = "您是老用户已设置过登录密码<br><a href='" + ctx_root + "/userAction_toLogin.action' style='color:red' >点击直接登录</a>";						  
				  }else if (errorCode == "1048818") {
					  msg = "找不到帐号信息<br><a href='" + ctx_root + "/userAction_toRegister.action' style='color:red' >点击直接注册</a>";						
				  }else {
					  msg = errorMsg;		
				  }
				  
				  layer.alert(msg, 8);	
				  $("#checkCode").attr("readonly", "readonly"); //添加不可输入属性
				  
				  $("#hqver").html("重新发送");
				  
				  if(rtimer != null && rtimer != undefined) {
					  window.clearInterval(rtipId);
					  rtimers = 0;  
				  }
				  
				  return false;
			  }
			  
			  //验证手机号码
			  if ($("#hqver").html() == "重新发送" || $("#hqver").html() == "获取验证码") {
				rtimers = 120;
				rtipId = window.setInterval(rtimer, 1000);
				$("#checkCode").val("");
			  }	
			  
			  $("#checkCode").removeAttr("readonly");//移除不可输入属性
			  $("#checkCode").attr("background-color", "");
			  return true;
			  
		});
		
   	}, "json");	
}

//--------------------------------------------首次登入处理函数《

/*
 * 忘记密码 发送手机验证码
 */
function sendCodeInForgetPwd(){
	
	$("#mobileMsg").hide();	
	$("#mobileMsg").text("");
	
	$("#mobileRight").hide();
	$("#checkCodeMsg").text("");
	
	if(rtimers>0){
		return;
	}
	
	if (!testFirstLoginMobile()) {
		return;
	}
	
	var mobile = trim($('#mobile').val());
	
	$("#checkCode").removeAttr("readonly");//移除不可输入属性
	
	//验证手机号码
	if ($("#hqver").html() == "重新发送" || $("#hqver").html() == "发送") {
			$.post('userAction_reSetPwGetCode.action?' + new Date(), {mobile:mobile}, function(data){				
				var json = eval(data);									
				$.each(json, function (index) { 
					  var flag = json[index].OK;
					  var errorMsg = json[index].exception;
					  if (flag == 0 || flag == "0") {
						  rtimers = 120;
						  rtipId = window.setInterval(rtimer, 1000);							
						  return true;
					  }else {
					     $("#mobileRight").hide();
			  			 $("#mobileMsg").show();
			  			 $("#mobileMsg").text("发送失败: " + errorMsg);
			  			 return false;
					  }
				});
				
		   	}, "json");	
	}
}